Enterprises have become increasingly dependent on computer network infrastructures to provide services and accomplish mission-critical tasks. Indeed, the performance and efficiency of these network infrastructures have become critical as enterprises increase their reliance on distributed computing environments and wide area computer networks. The widely-used TCP/IP protocol suite, which implements the world-wide data communications network environment called the Internet and is employed in many local area networks, omits any explicit supervisory function over the rate of data transport over the various devices that comprise the network. While there are certain perceived advantages, this characteristic has the consequence of juxtaposing very high-speed packets and very low-speed packets in potential conflict and produces certain inefficiencies. Certain loading conditions degrade performance of networked applications and can even cause instabilities which could lead to overloads that could stop data transfer temporarily. The above-identified U.S. Patents and patent applications provide explanations of certain technical aspects of a packet based telecommunications network environment, such as Internet/Intranet technology based largely on the TCP/IP protocol suite, and describe the deployment of bandwidth management solutions to monitor and manage network environments using such protocols and technologies.
Enterprise network topologies can span a vast array of designs and connection schemes depending on the enterprises resource requirements, desired service levels, costs and the like. Enterprise network design topologies often include redundant LAN and WAN segments in the enterprise's intranet, and multiple paths to extranets and the Internet. Enterprises that cannot afford the expense of private leased-lines to develop their own WANs, often employ frame relay, or other packet switched networks, together with Virtual Private Networking (VPN) technologies to connect private enterprise sites via a service providers public network or the Internet. Some enterprises also use VPN technology to create extranets with customers, suppliers, and vendors.
To create more efficient and cost effective network services, various differentiated service technologies and protocols have been developed. A differentiated service defines some significant characteristics of packet transmission in one direction across a set of one or more paths within a network. These characteristics may be specified in quantitative or statistical terms of throughput, delay, jitter, and/or loss, or may otherwise be specified in terms of some relative priority of access to network resources. Service differentiation is desired to accommodate heterogeneous application requirements and user expectations, and to permit differentiated pricing of network service. Differentiated services can include diffsery (RFC 2475), relative priority marking, service marking, label switching, Integrated Services/RSVP, and static per-hop classification.
For example, Internet Protocol (IP) networks, without modification, essentially provide best-effort datagram service without distinguishing between types of flows. To support and manage the performance of networked applications, a variety of core network technologies have been developed to deliver tailored network services. For example, many networked applications, such as VoIP, or other real-time transport protocol (RTP) flows, require higher quality of service, relative to other applications, such as e-mail and FTP file transfers. This type of network traffic generally includes characteristics of low latency, low jitter, and delay sensitivity; for example, voice over IP (VoIP), or video over IP traffic. Accordingly, a variety of technologies and protocols have been developed to provide differentiated services over IP networks, such as Multi-Protocol Label Switching (MPLS), and diffserv.
FIG. 1 illustrates, for didactic purposes, a simple differentiated services network, such as a MPLS network, consisting of five routing nodes: R1, R2, R3, R4, and R5. Router R5 is connected to a network segment 40 that contains a subnet with specific destination hosts associated with, for example, an enterprise headquarters. Router R1 is operably connected to a network 40a associated with, for example, a branch office. Routers R1 and R5 are referred to as label-edge routers (LERs), while routers R2, R3, and R4 are label-switching routers (LSRs). LERs receive incoming network traffic (e.g., IP, Ethernet, ATM, frame relay, etc.), and route this network traffic into special-purpose label-switched paths (LSPs) created to span the network or some part of the network. FIG. 1 illustrates two such LSPs: LSP1 and LSP2. For didactic purposes, assume that LSP1 has been created to carry real-time traffic through the network. LSP2 has been created to carry non-real-time traffic, such as email. Often, the network service provider charges its enterprise customers a higher rate for the use of LSP1.
The label switched paths in the MPLS network can be configured or provisioned using signaling protocols such as Resource Reservation Protocol with traffic engineering extensions (RSVP-TE) and Label Distribution Protocol (LDP). For example, LSP1 can be configured as an MPLS tunnel. An MPLS tunnel is basically a label switched path with some type of associated set of constraints, such as a specified path, resource reservation across the path, and other QoS-related capabilities (e.g., DiffServ/IntServ service classes). As FIG. 1 illustrates, the specified path of LSP1 from the branch office to headquarters is routers R1-R2-R3-R5. Resource reservation along the path generally connotes quality of service (QoS). Resource reservation often includes minimum guaranteed or required bandwidth, as well as other traffic characteristics, such as maximum burst size, mean burst size, and so on. These characteristics are specified or used when signaling the nodes in a label switched path as part of the underlying router resource reservations. For example, resource reservation generally includes reserving port buffer space, hardware queues, fabric capacity, etc.
Additional QoS requirements on a given label switched path can also be specified or configured using DiffServ and IntServ classes. These classes provide a greater degree of control over how the incoming traffic is managed as it passes across the MPLS network. In the didactic example of FIG. 1, LSP2 (R1, R4, R5) can created using the LDP protocol. This label switched path has no reserved bandwidth and its path is created by R1, in one direction, in conjunction with its internal routing protocols.
The resulting MPLS core network is then packet-based using MPLS and some specified QoS mechanism such as DiffServ, IntServ, and so on. According to the MPLS protocol, a short fixed-length label is generated that acts as a shorthand representation of an IP packet's header. Subsequent routing decisions (made by Label Switched routers) are made based on the MPLS label and not the original IP address in the IP header. This technology allows core network routers to operate at higher speeds without needing to examine each packet in detail, and allows more complex services to be developed, allowing discrimination on a QoS basis. Other parameters can also be used for forwarding: source IP address, source/destination port, IP type of service field (now called the Differentiated Services field, as defined in RFC 3260).
As discussed above, MPLS networks support a variety of QoS mechanisms including IP Precedence, Committed Access Rate (CAR), Random Early Detection (RED), Weighted RED, Weighted Fair Queuing (WFQ), Class-based WFQ, and Priority Queuing. Proprietary and non-standard QoS mechanisms can also be supported. MPLS may also be integrated with Differentiated Services protocols, such as diffserv, to provide for a plurality of service classes. For example, a service provider may deploy an MPLS network that has the following QoS classes: 1) High-priority, low-latency “Premium” class—(Gold Service); 2) Guaranteed-delivery “Mission-Critical” class—(Silver Service); and 3) Low-priority “Best-Effort” class—(Bronze Service).
Many MPLS networks are managed by managed network service providers that bill or charge enterprises based on a flat-rate, a usage-based model, or a combination of the two. A variety of tiered rate models can be used as well. Usage can be computed based on the number of IP packets forwarded (via MPLS) across an LSP, average bit rate, and the like. For example, a typical enterprise may pay for the use of LSP2 based on a flat-rate model, while paying for data transfer across LSP1 based on usage. Not surprisingly, different combinations of label switched paths and/or QoS classes may each have different rates, obviously, with higher classes of service being more expensive. For example, Network Service Providers can use a number of pricing models, including:
1) Fixed Charge per Byte: In one billing model, network service providers charge a fixed amount per byte of data that traverses the Service Provider's network. The amount per byte depends upon criteria including, but not limited to, the Class of Service of the packet that the byte of data contains and the time at which the byte of data is sent.
2) Fixed CoS Allocations: In another billing model, a network service provider collects a monthly from a customer for network services. According to an SLA agreement, the total bandwidth associated with the service is allocated among different classes or levels of service. For example, a Service Provider might make an agreement with a customer that allocates 30 percent of available bandwidth to a “Gold” class of service, 30 percent to a “Silver” class of service, and the remaining 40 percent to a “Bronze” class of service. In addition, the definition of each class of service is precisely described in terms of network performance.
In addition to MPLS and other differentiated service networks, many enterprises often have redundant connections between any two given sites, or even redundant physical connections between a given site and the Internet. Often these connections or links differ in capabilities and cost. Routers, typically using Border Gateway Protocols (BGP) to select a path to a given destination host do not account for cost, performance or the application associated with the data flow. A variety of network vendors have tried to optimize performance and/or reduce costs by controlling and modifying the routing policies on edge routers that would otherwise result with BGP. These route optimization approaches, however, generally involve complex and intensive technical requirements difficult for most network managers to use and configure. In addition, such network routing policy appliances, however, do not perform route optimization based on the network application associated with the data flow, rendering it difficult, if not impossible, to control data flows on a per-application basis.
In attempting to control the cost of network bandwidth, enterprises typically balance cost against performance. The network configuration and provisioning, however, that result from this cost-versus-performance analysis is generally performed at one instance in time, and does not adapt to changing network conditions. For example, it may be advantageous to an enterprise to use a least cost path to a given destination host until the performance of one or more network applications of interest, or other classes of traffic, suffers. At that point, a different, higher-cost path can be selected for the selected application traffic. Still further, enterprises may desire to tolerate low performance for low priority applications, while selectively increasing service levels for high priority applications. Known prior art mechanisms, however, are not application aware. Furthermore, known mechanisms do not dynamically adjust to changing network conditions or network application performance in this manner.
In light of the foregoing, a need in the art exists for methods, apparatuses and systems that dynamically adjust the selection of differentiated network services for selected classes of traffic in response to changing network conditions or application performance levels. Embodiments of the present invention substantially fulfill this need.